Telecommunications switches may establish signalling links with peer switches and/or other devices, typically over layer 2 (data link layer) protocols. These data links typically provide reliable transport for the transmission of higher layer protocol data, and the links may be between stations, each station comprising a switch or switches and/or other devices. The high availability requirements placed on telecommunications switches means that they typically need to have some level of redundancy. This may take the form of a backup system which remains on standby, ready to take over if and when a primary device fails. This failure of the old primary and ensuing transfer of operation to the backup device (which becomes the new primary) is referred to as failover.
When failover occurs, the new primary device preferably takes over quickly and minimises any disruption to communications. Due to the strict constraints of many Layer 2 protocols required to guarantee reliable transport to the higher layers, sequence numbering included in transmitted packets should typically be maintained in order to maintain a link. For most layer 2 protocols, transmitted packets include two types of sequence numbers: a first type of sequence number which serves as an identifier for each outbound message packet transmitted by the device, and is incremented each time a packet containing a new payload is transmitted; and a second type of sequence number which serves to acknowledge the corresponding sequence numbers of inbound message packets received by the device.
In current systems it is typically not possible for the backup device to monitor the packets transmitted by the primary device, as typically there is no physical connection between the output of the primary device and the input of the backup device. Furthermore, there is no reliable way to synchronise transmitted sequence numbers between the primary and backup devices as failure could occur at any point (i.e. post-synchronisation but pre-transmission, or post-transmission but pre-synchronisation). Hence, during a failover, the sequence numbers included in the last packet transmitted by the primary device are typically unknown to the backup device, making immediate accurate resumption of transmission impossible. Waiting for the associated acknowledgment message to be received before resuming transmission, or resuming transmission immediately by guessing the correct sequence numbers will both typically violate the strict constraints of layer 2 protocols. The result is that the data links typically must be torn down and re-established on failover. The tearing down and re-establishing of the data links can cause problems for devices at the other end of the links, and it falls significantly short of the ideal seamless transition at failover.
It would therefore be desirable to ameliorate the problems with the prior art systems.